/**
 * @description: 阻止默认行为
 * @param {*} e
 * @return {*}
 */
export const resetDefaultBehavior = e => {
  e.preventDefault()
  e.stopPropagation()
}

/**
 * @description: base64 转 file
 * @param {*} base64Data
 * @param {*} fileName
 * @param {*} mimeType
 * @return {*}
 */
export function base64ToFile(base64Data, fileName='file', mimeType) {
  // 提取Base64数据中以逗号分隔后的实际数据部分
  let arr = base64Data.split(',');
  let mime = mimeType || arr[0].match(/:(.*?);/)[1];
  // 将 Base64 编码的字符串（也就是arr[1]中存储的实际 Base64 编码的图片数据部分）解码为普通的二进制字符串
  let bstr = atob(arr[1]);
  // 获取二进制字符串的长度
  let n = bstr.length;
  // 创建一个 Uint8Array 对象，用于存储二进制数据
  let u8arr = new Uint8Array(n);
  // 将二进制字符串中的每个字符转换为对应的 Unicode 码点，并存储到 Uint8Array 对象中
  while (n--) {
      u8arr[n] = bstr.charCodeAt(n);
  }
  return new File([u8arr], fileName, { type: mime });
}